Then a number of cells are to be randomly selected, and eyeball check to find out buildings with pv on roof.
## [1] "13" "216" "651" "595" "232" "350" "589" "544" "252" "494"
## [1] "sf" "data.frame"
## Simple feature collection with 6 features and 2 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.48 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## layer ID geometry
## 13 100 13 POLYGON ((-1.4 50.9, -1.39 ...
## 216 100 216 POLYGON ((-1.43 50.9, -1.42...
## 651 100 651 POLYGON ((-1.34 50.9, -1.34...
## 595 100 595 POLYGON ((-1.4 50.9, -1.4 5...
## 232 100 232 POLYGON ((-1.48 50.9, -1.47...
## 350 100 350 POLYGON ((-1.46 50.9, -1.46...
Identify buildings with PV
Patrick’s comments: 1) 3 of 10 sample randomly selected areas are industrial and have no PV at the moment 2) This result does not help the validation, and so no need to mention them 3) It is better to target residential areas and gain greater sample size 4) Commercial buildings have larger roofs with higher PV potential, but their feasibility needs more rigorous assessment, so can be excluded from the scope of this work 5) New built houses have PV regardless of their feasibility, and they can also be eliminated from sample.
## ID Seed
## 1 13 26
## 2 13 52
## 3 13 61
## 4 13 89
## Simple feature collection with 10 features and 2 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.45 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 10 x 3
## ID Count geometry
## <int> <int> <POLYGON [°]>
## 1 51 133 ((-1.39 50.9, -1.38 50.9, -1.38 50.9, -1.39 50.9, -1.39 50…
## 2 651 163 ((-1.34 50.9, -1.34 50.9, -1.34 50.9, -1.34 50.9, -1.34 50…
## 3 527 142 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 4 584 188 ((-1.36 50.9, -1.35 50.9, -1.35 50.9, -1.36 50.9, -1.36 50…
## 5 673 206 ((-1.4 50.9, -1.39 50.9, -1.39 50.9, -1.4 50.9, -1.4 50.9))
## 6 502 117 ((-1.35 50.9, -1.34 50.9, -1.34 50.9, -1.35 50.9, -1.35 50…
## 7 134 193 ((-1.45 50.9, -1.44 50.9, -1.44 50.9, -1.45 50.9, -1.45 50…
## 8 13 66 ((-1.4 50.9, -1.39 50.9, -1.39 50.9, -1.4 50.9, -1.4 50.9))
## 9 692 76 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 10 173 138 ((-1.39 50.9, -1.39 50.9, -1.39 50.9, -1.39 50.9, -1.39 50…
The sample points are then exported to KML, and imported to google earth to eyeball existing pv
Google earth’s imagery date: 5/26/2017
## Simple feature collection with 6 features and 2 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.48 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## layer ID geometry
## 13 100 13 POLYGON ((-1.4 50.9, -1.39 ...
## 216 100 216 POLYGON ((-1.43 50.9, -1.42...
## 651 100 651 POLYGON ((-1.34 50.9, -1.34...
## 595 100 595 POLYGON ((-1.4 50.9, -1.4 5...
## 232 100 232 POLYGON ((-1.48 50.9, -1.47...
## 350 100 350 POLYGON ((-1.46 50.9, -1.46...
All the selected buildings were eyeballed using Google earth, and the results are imported backed to R.
## Simple feature collection with 1680 features and 5 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.45 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## First 10 features:
## OBJECTID Id gridcode Shape_Leng Shape_Area
## 1 1 1 1 6 2
## 2 2 2 1 4 1
## 3 3 3 1 4 1
## 4 4 4 1 4 1
## 5 5 5 1 8 3
## 6 6 6 1 4 1
## 7 7 7 1 4 1
## 8 8 8 1 4 1
## 9 9 9 1 4 1
## 10 10 10 1 10 4
## geometry
## 1 POLYGON ((-1.39 50.9, -1.39...
## 2 POLYGON ((-1.39 50.9, -1.39...
## 3 POLYGON ((-1.39 50.9, -1.39...
## 4 POLYGON ((-1.39 50.9, -1.39...
## 5 POLYGON ((-1.39 50.9, -1.39...
## 6 POLYGON ((-1.39 50.9, -1.39...
## 7 POLYGON ((-1.39 50.9, -1.39...
## 8 POLYGON ((-1.39 50.9, -1.39...
## 9 POLYGON ((-1.39 50.9, -1.39...
## 10 POLYGON ((-1.39 50.9, -1.39...
Step 1: combine building polygons with points where PV are found using google satellite image.
Step 2: see the overlap of buildings-PV and GIS estimates.
## Simple feature collection with 6 features and 4 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.37 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 6 x 5
## BID NPV NGIS AGIS geometry
## <dbl> <int> <int> <dbl> <POLYGON [°]>
## 1 1423 1 2 2.00 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 2 1632 1 1 1.000 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 3 3984 2 5 9.00 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.34 50…
## 4 3992 1 1 1.000 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## 5 4068 1 1 2.00 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## 6 4086 4 10 18.0 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## Simple feature collection with 6 features and 4 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.37 ymin: 50.9 xmax: -1.34 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 6 x 5
## BID NPV NGIS AGIS geometry
## <dbl> <int> <int> <dbl> <POLYGON [°]>
## 1 1423 1 2 2.00 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 2 1632 1 1 1.000 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 3 3984 2 5 9.00 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.34 50…
## 4 3992 1 1 1.000 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## 5 4068 1 1 2.00 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## 6 4086 4 10 18.0 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## Simple feature collection with 6 features and 4 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -1.39 ymin: 50.9 xmax: -1.35 ymax: 50.9
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 6 x 5
## BID NPV NGIS AGIS geometry
## <dbl> <int> <int> <dbl> <POLYGON [°]>
## 1 11579 1 0 NA ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 2 53874 1 0 NA ((-1.39 50.9, -1.39 50.9, -1.39 50.9, -1.39 50…
## 3 53972 1 0 NA ((-1.39 50.9, -1.39 50.9, -1.39 50.9, -1.39 50…
## 4 1632 1 1 1.000 ((-1.37 50.9, -1.37 50.9, -1.37 50.9, -1.37 50…
## 5 3992 1 1 1.000 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…
## 6 4068 1 1 2.00 ((-1.35 50.9, -1.35 50.9, -1.35 50.9, -1.35 50…